package come.bjpowernode.javase.reflect;

/*
可变长参数：
    int...args
    语法：类型...(注意：一定是三个点)

    1、可变参数需求的参数的个数为0-N个。
    2、可变长度参数在参数列表中必须在最后一个位置上，而且只能有一个。
    3、可变长度参数可以看做数组来看，可以遍历。
    4、形参可以传入数组
 */
public class ArgsTest {
    public static void main(String[] args) {
        m();
        m(10);
        m(10, 20);
        //编译报错
        //m("abc");
        m2("abc");
        m2("abc",1);
        m2("abc",1,2,3);
        m3("q","b");
        String[] strs = {"a","b","c"};
        m3(strs);
        m3(new String[]{"我","是","中","国","人"});//没必要
        m3("我","是","中","国","人");
    }

    public static void m(int... args) {
        System.out.println("“m方法执行了！");
    }

    public static void m2(String s,int...arg2s){

        System.out.println("m2");
    }

    public static void m3(String...args){
        for(int i = 0; i < args.length; i++){
            System.out.println(args[i]);
        }
    }
}
